package com.aidex.storage.domain;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import lombok.Data;
import com.aidex.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.aidex.common.utils.log.annotation.FieldRemark;
import com.aidex.common.utils.log.annotation.LogField;
import com.aidex.common.annotation.Excel;

/**
 * 出库信息对象 bus_out_storage
 * @author cq
 * @email 382425530@qq.com
 * @date 2023-06-20
 */
@Data
public class BusOutStorage extends BaseEntity<BusOutStorage>
{
    private static final long serialVersionUID = 1L;

    /** 销售单编号 */
    @Excel(name = "销售单编号")
    @NotBlank(message = "销售单编号不允许为空")
    @LogField
    @FieldRemark(name = "销售单编号",field = "salesId")
    private String salesId;

    /** 出库数量 */
    @NotBlank(message = "出库数量不允许为空")
    @LogField
    @FieldRemark(name = "出库数量",field = "count")
    private String count;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    @LogField
    @FieldRemark(name = "仓库名称",field = "warehouseName")
    private String warehouseName;

    /** 仓库id */
    private String warehouseId;

    /** 出库时间 */
    @Excel(name = "出库时间")
    @NotBlank(message = "出库时间不允许为空")
    @LogField
    @FieldRemark(name = "出库时间",field = "storageTime")
    private String storageTime;

    public void setSalesId(String salesId) 
    {
        this.salesId = salesId;
    }

    public String getSalesId() 
    {
        return salesId;
    }

    public void setCount(String count) 
    {
        this.count = count;
    }

    public String getCount() 
    {
        return count;
    }

    public void setWarehouseName(String warehouseName) 
    {
        this.warehouseName = warehouseName;
    }

    public String getWarehouseName() 
    {
        return warehouseName;
    }

    public void setWarehouseId(String warehouseId) 
    {
        this.warehouseId = warehouseId;
    }

    public String getWarehouseId() 
    {
        return warehouseId;
    }

    public void setStorageTime(String storageTime) 
    {
        this.storageTime = storageTime;
    }

    public String getStorageTime() 
    {
        return storageTime;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("salesId", getSalesId())
            .append("count", getCount())
            .append("warehouseName", getWarehouseName())
            .append("warehouseId", getWarehouseId())
            .append("storageTime", getStorageTime())
            .append("remark", getRemark())
            .append("id", getId())
            .append("createBy", getCreateBy())
            .append("createDept", getCreateDept())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("updateIp", getUpdateIp())
            .append("version", getVersion())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
